<template>
  <!-- 
    采用$attrs方式透传给a-tree标签所有属性和方法，
    
    使用方式：父组件引入ctTree 请按照a-tree组件文档所需的属性和方法绑定到ctTree标签上即可
    <ct-tree
        v-model:checkedKeys="checkedKeys"
        :tree-data="treeData"
        showLine
        allowDrop
        disabled
        checkable
        @drop="请定义节点拖拽事件"
        @select="请定义节点点击事件"
    > 
        // 示例：根据a-tree命名插槽title，自定义标题
        <template #title="{ title, key }">
          <template>{{ title }}</template>
        </template>

        // 示例：根据a-tree命名插槽icon，自定义图标
        <template #icon="{ key, selected }">
            <frown-filled  />
        </template>
    </ct-tree>
   -->

  <!-- 将传递给自定义组件标签上的所有属性和方法，绑定透传给a-tree标签上 -->
  <a-tree v-bind="$attrs">
    <template v-for="(_, slotName) in $slots" #[slotName]="slotData">
      <!-- 将作用域插槽的数据，重新绑定到自定义组件的作用域插槽上 -->
      <slot :name="slotName" v-bind="slotData || {}"></slot>
    </template>
  </a-tree>
</template>
